Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Il problema è che quando premo(sulla tastiera) il carattere "a", e poi premo invio, al posto di scrivermi una sola "a", me ne scrive 50! Come mai?
Grazie!
Ultima modifica effettuata da LittleHacker il 28/02/2013 alle 18:40
()
Newbie
Messaggi: Iscritto:
Postato alle 20:17
Martedì, 26/02/2013
ma....scusa eh.....
Codice sorgente - presumibilmente C/C++
char input[250] = "\0";
while(!(inportb(0x60) == 28)
{
if (inportb(0x60) == 30) strcat(&input, "a");
//etc...
}
Codice sorgente - presumibilmente C++
char*strcat(char*dest, constchar*src)
{
int dest_len =strlen(dest);
int i;
for(i = 0 ; i < dest_len +strlen(src); i++)
{
dest[dest_len + i]= src[i];
}
dest[dest_len + i]='\0';
return dest;
}
Ultima modifica effettuata da il 26/02/2013 alle 20:23
C' è altro? Ti ho risolto tutto o hai dovuto modificare qualcosa a ciò che ho scritto?
No, oltre a un problema della lettura da tastiera, che dovrò aprire un nuovo topic, nulla!
Però se riesci a risolvermi questo:
Per andare a capo uso nella funziona print il carattere \n, e per controllare se c'è e andare a capo, uso questo codice:
Codice sorgente - presumibilmente C++
void print(char* message)
{
unsignedint i;
char* mem =(char*)(0xb8000);
i =(line * 80*2);
line++;
while(*message !=NULL)
{
if(*message =='\n')
{
i =(line * 80*2);
line++;
*message ='\0';// Modifico da \n a vuoto
}
mem[i]=*message;
message++;
i++;
mem[i]=0x07;
i++;
}
}
Con questo codice riesco ad andare a capo comodamente , ma ho un problema, cioè quando va a capo, visto che c'èra la \n, mi lascia lo spazio tra il bordo e la prima lettera! Come posso risolvere?
Esempio:
|Ciao
| Come
| Stai
()
Newbie
Messaggi: Iscritto:
Postato alle 18:32
Venerdì, 01/03/2013
è forse colpa del line++ nel primo if? Comunque mi sa che siamo OT, quindi, apri una nuova discussione